#include<stdio.h>

int check(int a, int b, int c) { // 和暴力版本的代码差不多，但是我们不需要检查比例了
    int count[10];
    int i=0; // 和第 24 行的变动有关
    for(;i<=9;i++) count[i] = 0; 
    while(a != 0) {
        ++count[a % 10];
        a /= 10;
    } 
    while(b != 0) {
        ++count[b % 10];
        b /= 10;
    }
    while(c != 0) {
        ++count[c % 10];
        c /= 10;
    } 
    for(i=1;i<=9;i++) {
        if(count[i] != 1) { 
            return 0;
        }
    }
    return count[0] == 0; // a*3 可能是一个四位数，我们需要再把 0 出现了 0 次判断一下（想想为什么暴力版本不需要？）
}

int main() {
    int a, b, c;
    for(a=123;a<=987;a++) { 
        b = a * 2;
        c = a * 3;
        if(check(a, b, c)) {
            printf("%d %d %d\n", a, b, c);
        }
    }
}